The present invention relates generally to mechanisms for generating and displaying three dimensional representations or virtual reality worlds. That is, the present invention relates to methods and apparatus for building and viewing such three dimensional worlds.
One conventional mechanism for creating and displaying three dimensional (3D) worlds implements virtual reality modeling language (VRML). Conventionally, VRML is used to xe2x80x9cmodelxe2x80x9d three dimensional worlds using simple polygon structures. The first version of VRML allows for the creation of virtual worlds with limited interactive behavior and is currently the most popular foundation for creating interactive 3D multimedia on the Internet. As will be appreciated by those skilled in the art, International Standard ISO/IEC 14772 describes the standard VRML file format.
Worlds created using VRML can contain objects which have hyper-links to other worlds, HTML documents or other valid MIME types. When the user selects an object with a hyper-link, the appropriate MIME viewer is launched. When the user selects a link to a VRML document from within a correctly configured WWW browser, a VRML viewer is launched.
Although the conventional VRML viewer work well under certain conditions, it has associated disadvantages. For example, if the 3D world is relatively large, it is difficult to orient oneself within the world. That is, as one navigates within the 3D world, it is easy to get lost. This is partially because standard VRML viewers do not provide any frame of reference for where you are currently located within the VRML 3D world. Additionally, even when a 3D world is relatively small in size, navigational problems may still arise when certain portions of the 3D world have a similar appearance. In this case, it is especially difficult to distinguish between similar portions of the world and navigate to a desired location of the 3D world.
Navigational problems are compounded since each VRML world may have an infinite size. In other words, there are no constraints placed on how large a VRML world may be. Thus, VRML world builders may build relatively large and complex worlds. As VRML worlds becomes larger and more complex, it becomes increasingly more difficult to view and navigate through such gargantuan worlds. Finally, when a VRML world is relatively complex, it requires a relatively long rendering time since each portion of the 3D world is analyzed and rendered from polygon structures.
In view of the foregoing, there is a need for improved mechanism for generating 3D worlds and viewing and navigating through such 3D worlds.
Accordingly, the present invention provides an apparatus and method for generating and displaying three dimensional representations. In one embodiment, a data structure is disclosed. The data structure is suitable for storing information useful in constructing a three dimensional representation of information in a viewable construction site that is conceptually divided into a multiplicity of locations. The data structure is embodied in a computer readable media and includes a plurality of attribute maps. Each attribute map is arranged to associate specific attribute instances with specific locations within the construction site. The data structure also includes a plurality of attribute descriptors. Each attribute descriptor is associated with one of the attribute maps and is arranged to reference specific attribute instances associated with the associated attribute map.
In an alternative embodiment, each attribute map has a plurality of identifiers, wherein each identifier is associated with a specific location within the construction site and a specific attribute instance, and each attribute descriptor is formatted to match specific identifiers of the associated attribute map to specific attribute instance. Additionally, specific identifiers are matched within the descriptors to specific attribute instances located within the descriptors, and other specific identifiers are matched within the descriptor to specific indexes that reference specific attribute instances located outside of the descriptors.
In yet another embodiment, a data structure for holding information that is convertible into a three dimensional representation within an audiovisual system is disclosed. The three dimensional representation includes a plurality of sections. The data structure has a mapping portion that associates selected sections of the three dimensional representation with selected section attribute instances. At least one of the section attribute instances is viewable or audible within the audiovisual system. The data structure further includes a general portion that associates general attributes with the three dimensional representation, at least one of the general attributes being viewable or audible within the audiovisual system.
In a method aspect of the invention, a method for generating a three dimensional representation in a viewable construction site having a plurality of sections is disclosed. Each section has a plurality of associated attribute layer. A new construction site is instantiated; a first attribute layer is selected; and a first palette that includes a first plurality of attribute instances associated with the first attribute layer is displayed. A first attribute instance from the first palette is selected; and the first attribute instance is painted on one or more sections of the construction site.